package javaTeste.tArgumento;

import java.Argumento;
import java.atributo.Atributo;
import java.atributo.TiposPrimitivos;
import java.variavel.Variavel;

import junit.framework.Assert;

import org.junit.Before;
import org.junit.Test;


public  class TesteArgumentoParaMetodos implements Especificacao {
	Argumento atributoS = null;
	Argumento atributoS3;
	private Argumento int3;
	private Argumento NULL;
	private Argumento avida;
	private Argumento p;
	@Before
	public  void up() {
		atributoS = new Argumento(new Atributo("Atributo", "s"));
		atributoS3 = new Argumento(new Atributo(TiposPrimitivos.INT, "s"));
		int3= new Argumento("3");
		NULL=new Argumento("null");
		avida=new Argumento("\"A Vida\"");
		p= new Argumento(new Variavel(TiposPrimitivos.FLOAT,"p"));
	}
	@Test
	public void valorArgumentoAtributoS() {
		Assert.assertEquals("this.s", atributoS.codigoFonte());
	}
	@Test
	public void valorArgumentoAtributoS_Int3() {
		Assert.assertEquals("this.s", atributoS3.codigoFonte());
	}
	@Test
	public void valorArgumentoInt3() {
		Assert.assertEquals("3",int3.codigoFonte());
	}

	@Test
	public void valorArgumentoNull() {
		Assert.assertEquals("null",NULL.codigoFonte() );
	}
	@Test
	public void valorArgumentoStringAVIDA() {
		Assert.assertEquals("\"A Vida\"",avida.codigoFonte());
	}
	@Test
	public void valorArgumentoVariavelP() {
		Assert.assertEquals("p", p.codigoFonte());
	}
}